--- %%NOBANNER%% -->
/*-------------------<---Start of Description-->---------------------\
| Change a page to landscape; |
| Note: that if you change the page to landscape, remember to change |
| it back to portait after the page; otherwise, it will |
| continue landscape until the end of the document; this |
| function is always used with %portrait together; |
|---------------------<---End of Description-->----------------------|
|--------------------------------------------------------------------|
|------------<---Start of Files or Arguments Needed-->---------------|
| Arguments: |
| wordref - not necessary; default is "wordsys"; |
|-------------<---End of Files or Arguments Needed-->----------------|
|--------------------------------------------------------------------|
|------------------<---Start of Files Created-->---------------------|
| Example: %landscape; |
| %portrait; |
| Usage: %landscape(wordref); |
\-------------------<---End of Files Created-->---------------------*/
%macro landscape/parmbuff;
/*--------------------------------------------\
| Author: Duo Zhou; |
| Created: 2-7-2001 8:51pm; |
| Purpose: Change the format of the pages in |
| the word document to landscape; |
\--------------------------------------------*/
%local arg fref wsid rc;
%let arg=%qscan(&syspbuff,1,%str((),));
%let fref=; %let wsid=0;
%if (%index(%quote(%upcase(%sysfunc(compress(%quote(&arg))))),%str(WORDREF=))) or
(%index(%quote(%upcase(%sysfunc(compress(%quote(&arg))))),%str(WINREF=))) or
(%index(%quote(%upcase(%sysfunc(compress(%quote(&arg))))),%str(WINDOW=))) or
(%index(%quote(%upcase(%sysfunc(compress(%quote(&arg))))),%str(WIN=)))
%then %do;
%let fref=%qscan(&arg, 2, %str(= ));
%put --> Note: Checking the status of window "&fref" to see if it is opened.;
%end;
%else %if (%quote(&arg) ne) %then %do;
%if not (%index(%quote(%upcase(%sysfunc(compress(%quote(&arg))))),%str(=))) %then %do;
%let fref=%sysfunc(compress(&arg));
%put --> Note: Checking the status of window "&fref" to see if it is open.;
%end;
%else %do;
%put --> Alert! Alert! Keyword Parameter isn%str(%')t declared!;
%end;
%end;
%else %if (%quote(&arg) eq) %then %do;
%let fref=wordsys;
%put --> Note: No window reference is specified%str(;) Checking the status of the default;
%put -->"&fref" to see if it is open.;
%end;
%if (%quote(&fref) ne) %then %do;
%let wsid=%sysfunc(fopen(&fref,o,132,e));
%end;
%if &wsid %then %do;
%let rc=%sysfunc(fclose(&wsid));
data _null_;
file &fref lrecl=2000;
length str $2000.;
str='[FilePageSetup .Tab = "1", .PaperSize = "0", .TopMargin = "1.25" + Chr$(34),
.BottomMargin = "1.25" + Chr$(34), .LeftMargin = "1" + Chr$(34),
.RightMargin = "1" + Chr$(34), .Gutter = "0" + Chr$(34)]';
put str;
str='[FilePageSetup .PageWidth = "11" + Chr$(34), .PageHeight = "8.5" + Chr$(34),
.Orientation = 1, .FirstPage = 0, .OtherPages = 0, .VertAlign = 0,
.ApplyPropsTo = 1, .FacingPages = 0]';
put str;
str='[FilePageSetup .HeaderDistance = "0.5" + Chr$(34) .FooterDistance = "0.5" + Chr$(34),
.SectionStart = 2, .OddAndEvenPages = 0, .DifferentFirstPage = 0,
.Endnotes = 0, .LineNum = 0, .StartingNum = "", .FromText = ""]';
str='[FilePageSetup .CountBy = "0", .NumMode = -1]';
put str;
run;
%end;
%else %do;
%put ==> Alert! Incorrect window reference "&fref", or window "&fref" isn%str(%')t open.;
%end;
%mend landscape;